Exemples de fonctions de la catégorie Inter-enregistrements du graphique
Exemples de la fonction top
Ces exemples sont obtenus avec la fonction top, mais peuvent être appliqués de la même manière aux fonctions bottom, first et last. Rappelons toutefois que les fonctions first et last ne sont pertinentes que pour les tableaux croisés dynamiques.
Étudiez le tableau simple ci-dessous, qui décrit l'utilisation de la fonction top dans une table unidimensionnelle :
Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|
- | 21 | 3 | 700% |
1 | 3 | 3 | 100% |
2 | 7 | 3 | 233% |
3 | 11 | 3 | 367% |
Dans le cas d'une seule dimension, la fonction top se référera toujours à la première ligne de données de la table (la ligne des totaux n'est pas incluse).
Les expressions utilisant la fonction top seront évaluées correctement sur la ligne des totaux aussi, puisque le total a un rapport clair à un segment de colonne particulier, en l'occurrence la colonne entière.
Vous trouverez ci-dessous un tableau simple bidimensionnel, trié principalement sur le champ Grp.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | 1 |
1 | A | 1 | 1 | 1 |
2 | A | 3 | 1 | 1 |
3 | A | 5 | 1 | 1 |
1 | B | 2 | 2 | 1 |
2 | B | 4 | 2 | 1 |
3 | B | 6 | 2 | 1 |
La fonction top sans le qualificateur total renverra maintenant l'expression évaluée sur la ligne supérieure dans le groupe de tri (la dimension Grp en l'occurrence). Une valeur sera renvoyée pour Grp = A et une autre pour Grp = B.
En utilisant le qualificateur total dans le cas de tableaux à plusieurs dimensions, vous pouvez encore vous référer à la ligne supérieure de la table dans l'absolu et obtenir la même valeur pour toutes les lignes. L'expression sera bien sûr évaluée pour le segment de colonne couvrant la colonne entière.
L'expression utilisant la fonction top sans le qualificateur total renverra NULL dans la ligne des totaux, parce qu'elle ne peut pas l'associer clairement à un segment de colonne particulier.
Nous allons maintenant convertir le tableau simple ci-dessus en tableau croisé dynamique avec tous les totaux activés.
Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
---|---|---|---|---|
1 | A | 1 | 1 | 1 |
1 | B | 2 | 1 | 1 |
1 | Total | 3 | 1 | - |
2 | A | 3 | 3 | 1 |
2 | B | 4 | 3 | 1 |
2 | Total | 7 | 3 | - |
3 | A | 5 | 5 | 1 |
3 | B | 6 | 5 | 1 |
3 | Total | 11 | 5 | - |
Total | - | 21 | - | 1 |
L'expression utilisant la fonction top sans le qualificateur total renverra NULL dans la ligne des totaux, parce qu'elle ne peut pas l'associer clairement à un segment de colonne particulier. Cependant, toutes les sommes partielles seront évaluées pour chaque segment de colonne.
Il manquera des valeurs à l'expression utilisant le qualificatif total dans les totaux partiels, mais elle renverra une valeur pour la ligne de total général.
Étudiez le tableau simple suivant trié sur le champ Grp :
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
2 | A | 3 | 1 | 300% |
3 | A | 5 | 1 | 500% |
1 | B | 2 | 2 | 100% |
2 | B | 4 | 2 | 200% |
3 | B | 6 | 2 | 300% |
Nous pouvons ensuite modifier l'ordre de tri inter-champs de façon à ce que le graphique soit trié d'abord sur le champ Mois. Le tableau ressemblera alors à ceci :
Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
---|---|---|---|---|
- | - | 21 | - | - |
1 | A | 1 | 1 | 100% |
1 | B | 2 | 1 | 200% |
2 | A | 3 | 3 | 100% |
2 | B | 4 | 3 | 133% |
3 | A | 5 | 5 | 100% |
3 | B | 6 | 5 | 120% |
Exemples de la fonction above
Ces exemples sont obtenus avec la fonction above, mais peuvent être appliqués de la même manière aux fonctions below, before et after. Rappelons toutefois que les fonctions before et after ne sont pertinentes que pour les tableaux croisés dynamiques.
Étudiez le tableau simple ci-dessous, qui décrit l'utilisation de la fonction above dans une table unidimensionnelle :
Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
---|---|---|---|
- | 21 | - | - |
1 | 3 | - | - |
2 | 7 | 3 | 233% |
3 | 11 | 7 | 157% |
La troisième colonne montre l'expression sum(Val) évaluée une ligne au-dessus de la ligne active, ce qu'on peut confirmer en la comparant aux valeurs obtenues pour sum(val) dans la deuxième colonne. La fonction above renvoie NULL sur la première ligne, puisqu'il n'y a pas de ligne au-dessus qui permette d'évaluer l'expression. La fonction above renvoie toujours NULL sur toutes les lignes de totaux.
La quatrième colonne illustre l'utilisation la plus courante de cette fonction, à savoir le calcul de la différence entre des périodes distinctes, par exemple.
Étudiez le tableau croisé dynamique bidimensionnel ci-dessous :
Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
---|---|---|---|---|
A | 1 | 1 | - | - |
A | 2 | 3 | 1 | 1 |
A | 3 | 5 | 3 | 3 |
A | Total | 9 | - | - |
B | 1 | 2 | - | 5 |
B | 2 | 4 | 2 | 2 |
B | 3 | 6 | 4 | 4 |
B | Total | 12 | - | - |
Total | - | 21 | - | - |
La fonction above sans le qualificateur total (troisième colonne) agira uniquement dans chaque groupe de tri. Une valeur NULL sera renvoyée pour la ligne supérieure de chaque segment de colonne.
Quand un qualificateur total est ajouté (quatrième colonne), la colonne entière est considérée comme un segment de colonne. Seule la ligne supérieure renverra NULL. Toutes les lignes de totaux sont ignorées et renvoient NULL.
Exemples des fonctions RowNo et NoOfRows
Cet exemple est obtenu avec les fonctions RowNo et NoOfRows, mais peut être appliqué de manière similaire aux fonctions ColumnNo et NoOfColumns. Rappelons toutefois que les fonctions ColumnNo et NoOfColumns ne sont pertinentes que pour les tableaux croisés dynamiques.
Étudiez le tableau croisé dynamique bidimensionnel ci-dessous :
Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
---|---|---|---|---|---|
1 | A | 1 | 1 | 2 | 6 |
1 | B | 2 | 2 | 2 | 6 |
1 | Total | 0 | - | 2 | - |
2 | A | 1 | 3 | 2 | 6 |
2 | B | 2 | 4 | 2 | 6 |
2 | Total | 0 | - | 2 | - |
3 | A | 1 | 5 | 2 | 6 |
3 | B | 2 | 6 | 2 | 6 |
3 | Total | 0 | - | 2 | - |
Total | - | - | 0 | - | 6 |
- Colonne 3 La fonction RowNo renvoie le numéro de la ligne dans chaque segment de colonne du groupe de tri. Dans les lignes de sous-totaux, c'est le numéro de ligne 0 qui sera renvoyé, car ces totaux appartiennent clairement à un segment de colonne particulier. NULL sera renvoyé pour la ligne de total général.
- Colonne 4 Avec le qualificateur total, la fonction RowNo renvoie le numéro de la ligne dans la colonne entière. Dans les lignes de sous-totaux, elle renverra une valeur NULL. Elle renverra 0 pour la ligne de total général.
- Colonne 5 La fonction NoOfRows renvoie le nombre de lignes de données dans chaque segment de colonne du groupe de tri. Dans les lignes de sous-totaux, elle renverra le même nombre que pour les lignes de données. NULL sera renvoyé pour la ligne de total général.
- Colonne 6 Avec le qualificatif total, la fonction NoOfRows renverra le nombre de lignes de données dans la colonne entière, qui correspond à ce qui sera renvoyé dans la ligne de total général. Dans les lignes de sous-totaux, elle renverra NULL.